/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.etrs.formathlon.vue.jsf.form.visitor;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import net.etrs.formathlon.entity.formation.Session;
import net.etrs.formathlon.metier.exception.MetierException;
import net.etrs.formathlon.persistance.formation.InscriptionFacade;
import net.etrs.formathlon.vue.jsf.utils.GeneralBean;

/**
 * ManageBean JSF pour les pages traitant de l'administration des sessions par
 * la vue detailSession.
 * @author OPIF
 */
@ManagedBean
@ViewScoped
public class VisitorSessionDetailBean extends GeneralBean {

    @EJB
    private InscriptionFacade inscriptionFacade;
    private Session session;

    /** Creates a new instance of VisitorSessionDetailBean */
    public VisitorSessionDetailBean() {
    }

    /**
     * 
     * @return session
     */
    public Session getSession() {
        return session;
    }

    /**
     * 
     * @param session 
     */
    public void setSession(Session session) {
        this.session = session;

    }

    /**
     * Action de s'inscrir.
     * @return 
     */
    public String inscrire() {
        try {
            inscriptionFacade.inscrire(getLoginControler().getUtilisateurConnecte().getPersonnel(), session, getLoginControler().isChefCours());
            displayMessage(String.format("%s a été incrit", getLoginControler().getUtilisateurConnecte().getPersonnel().toString()));
        } catch (MetierException ex) {
            Logger.getLogger(VisitorSessionBean.class.getName()).log(Level.SEVERE, null, ex);
            displayAlert(ex.getMessage());
        }
        return "goPlanning";
    }
}
